package com.xbongbong.paas.service;

import com.xbongbong.paas.pojo.dto.BindPublicGroupDTO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.BaseVO;
import com.xbongbong.paas.toolbox.wrap.XbbResponse;
import com.xbongbong.pro.message.pojo.dto.PublicGroupRabbitMqDTO;


public interface PublicGroupSyncService {


    /**
     * 绑定分组规则脚本异步方法
     *
     * @param bindPublicGroupDTO 绑定分组规则脚本异步方法入参
     * @return Integer
     * @throws XbbException 业务异常
     * @version v1.0
     * @since v1.0
     */
    XbbResponse<BaseVO> bindCustomerPublicGroupByScript(BindPublicGroupDTO bindPublicGroupDTO) throws XbbException;

    /**
     * 绑定分组规则脚本异步方法
     *
     * @param bindPublicGroupDTO 绑定分组规则脚本异步方法入参
     * @return Integer
     * @throws XbbException 业务异常
     * @version v1.0
     * @since v1.0
     */
    XbbResponse<BaseVO> bindCluePublicGroupByScript(BindPublicGroupDTO bindPublicGroupDTO) throws XbbException;

    void bindPublicGroupByMq(PublicGroupRabbitMqDTO publicGroupRabbitMqDTO) throws XbbException;

}
